package service;

import domain.Book;
import domain.Chapter;
import domain.Word;

import java.util.List;

public interface BookService {
    /**
     * 创建书籍 bid 自动自增生成
     * @param book 书籍实例化对象 需要存储bid外其他信息
     */
    void creatBook(Book book);
    /**
     * 修改书籍
     * @param book 书籍实例化对象 需要存储uid外其他信息
     */
    void modifyBook(Book book);
    /**
     * 添加章节
     * @param chapter 章节实例化对象bid name content
     */
    void addChapter(Chapter chapter);

    /**
     * 添加单词列表
     * @param wordList List<Word>
     */
    void addWordList(List<Word> wordList);
    /**
     * 获取所有人的共同书籍 uid为0
     * @return 书籍实例化列表
     */
    List<Book> getCommonBook();
    /**
     * 获取章节标题
     * @param book 书籍实例化对象
     * @return Book实例化对象列表  只存储pid 与name
     */
    List<Chapter> getCapterNameList(Book book);

    /**
     * 获取章节内容
     * @param chapter chapter
     * @return 文章实例化对象
     */
    Chapter getChapter(Chapter chapter);
    /**
     * 通过书籍id获取书籍信息
     * @param bid 书籍id
     * @return 书籍实例化信息
     */
    Book getBookbybid(int bid);

    /**
     * 添加书籍对一个单词
     * @param wordList 单词实例化对象
     */
    void addBookWord(List<Word> wordList);
    /**
     * 删除书籍对应的单词
     * @param bid 书籍id
     */
    void delBookWord(int bid);
}
